From 4b33540e8ce55acf19ec8c3f6706efaecdfd57ea Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Thu, 19 Sep 2013 11:17:45 +0200 Subject: [PATCH] libxl: don't launch Qemu on Dom0 for Qdisk devices on driver domains MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit In libxl__need_xenpv_qemu check that the backend domain of the Qdisk device is Dom0 before launching a Qemu instance in the toolstack domain. Signed-off-by: Roger Pau Monné Cc: Ian Campbell Acked-by: Ian Jackson --- tools/libxl/libxl_dm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 85a08af5a0..b4798b870d 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -1354,6 +1354,7 @@ int libxl__need_xenpv_qemu(libxl__gc *gc, int nr_disks, libxl_device_disk *disks) { int i, ret = 0; + uint32_t domid; /* * qemu is required in order to support 2 or more consoles. So switch all @@ -1379,8 +1380,11 @@ int libxl__need_xenpv_qemu(libxl__gc *gc, } if (nr_disks > 0) { + ret = libxl__get_domid(gc, &domid); + if (ret) goto out; for (i = 0; i < nr_disks; i++) { - if (disks[i].backend == LIBXL_DISK_BACKEND_QDISK) { + if (disks[i].backend == LIBXL_DISK_BACKEND_QDISK && + disks[i].backend_domid == domid) { ret = 1; goto out; } -- 2.30.2